perm filename DOC[G,BGB]1 blob sn#025296 filedate 1973-02-17 generic text, type T, neo UTF8
00100	SAILON NUMBER 68			                GEOMOD MANUAL
00200	
00300	
00400	STANFORD ARTIFICIAL INTELLIGENCE LABORATORY              JANUARY 1973
00500	OPERATING NOTE NUMBER 68.
00600	
00700	
00800	                   GEOMOD  -  GEOMETRIC MODELING.
00900	
01000	
01100	                          Bruce g. Baumgart
01200	
01300	
01400	ABSTRACT:
01500	
01600		This document is a manual for using GEOMOD code and the
01700	system programs built out of this code.
01800	
01900	Winged Edge Polyhedron Representation.
02000	Geometric Modeling Subroutine Packages.
02100		WINGS
02200		EULER
02300		EUCLID
02400		VIEWER
02500	
02600	Body forming Operations.
02700	Frames of Reference.
02800	Euclidean Transformations.
02900	Image Forming Operations.
03000	
03100	GEOMED - Geometric Editor.
03200	GEOMEL - Geometric Modeling Embedded in LISP.
03300	OCCULT - A hidden line eliminator.
     

00100	Frames of Referance.
00200	Euclidean Transformations.
00300	
00400		1. TRAN ← MKTRAN(REFRAM,OPAXCNT,DELTA);
00500	
00600	OPERATION	AXIS	AXIS MODIFIER
00700	
00800	0 TRANSLATION	0 X	0 AXIS.
00900	1 ROTATION   	1 X	1 AXIS.
01000	2 DILATION	2 Y	2 NOT AXIS.
01100	3 REFLECTION	3 Z	3 ALL AXES.
01200	
01300		2*3 + 2*3*3 = 6 + 18 = 24 OPERATIONS.
01400	
01500	MKFRM1(PAN,TILT,SWING)	MAKE FRAME.
01600		PAN ABOUT Y-AXIS
01700		TILT ABOUT X AXIS
01800		SWING ABOUT Z AXIS
01900	Vertex, v, rotation by transformation T.
02000	
02100		X ← XWC(V) - XWC(R);
02200		Y ← YWC(V) - YWC(R);
02300		Z ← ZWC(V) - ZWC(R);
02400	
02500		XWC(V) ← X*IX(R) + Y*IY(R) + Z*IZ(R);
02600		YWC(V) ← X*JX(R) + Y*JY(R) + Z*JZ(R);
02700		ZWC(V) ← X*KX(R) + Y*KY(R) + Z*KZ(R);
02800	
02900		XWC ← XWC(V) + XWC(R);
03000		YWC ← YWC(V) + YWC(R);
03100		ZWC ← ZWC(V) + ZWC(R);
03200	
03300	LINK FETCH COMMANDS.
03350	
03400		CW	α≤	α≥	CCW
03500		DAD	α<	α>	SON
03600		BRO	α←	α→	SIS
03700	
03800		NFACE	≤	≥	PFACE
03900		NED	<	>	PED
04000		NVT	←	→	PVT
04100	
04200		ALT	β≤	β≥	PBODY
04300		CAR(8)	β<	β>	CDR(8)
04400		CAR(9)	β←	β→	CDR(9)
04500	
04600		NCW	ε≤	ε≥	PCW
04700		NCCW	ε<	ε>	PCCW
04800		ALT	ε←	ε→	PBODY